Method and apparatus for maintaining federated name context bindings in a name space

ABSTRACT

A method, system and computer program product for maintaining federated name context bindings in a name space is disclosed. A reference within a first name space of a first system is bound with a durable subscription to a second name space on a second system. The binding of the first reference to the second name space is administered with a graphical user interface. A durable subscription is established with the second system for the binding utilizing communication with the second system over a network. Notification of a change affecting the bindings from the second system is received and the reference is rebound in the first name space.

BACKGROUND OF THE INVENTION

1. Technical Field

The present invention relates in general to network communications andin particular to addressing systems used by a data processing system.Still more particularly, the present invention relates to a system,method and computer program product for maintaining federated namecontext bindings in a name space.

2. Description of the Related Art

The Internet, also referred to as an “internetwork”, is a set ofcomputer networks, possibly dissimilar, joined together by means ofgateways that handle data transfer and the conversion of messages from aprotocol used by the sending network to a protocol used by the receivingnetwork. When capitalized, the term “Internet” refers to the worldwidecollection of networks and gateways that use the TCP/IP suite ofprotocols.

The Internet has become a cultural fixture as a source of bothinformation and entertainment. Many businesses are creating Internetsites as an integral part of their marketing efforts, informingconsumers of the products or services offered by the business orproviding other information seeking to engender brand loyalty. Manyfederal, state, and local government agencies are also employingInternet sites for informational purposes, particularly agencies whichmust interact with virtually all segments of society such as theInternal Revenue Service and secretariats of state. Additionally,providing informational guides and/or searchable databases of onlinepublic records may reduce operating costs. Further, the Internet isbecoming increasingly popular as a medium for commercial transactions.

Currently, the most commonly employed method of transferring data overthe Internet is to employ the World Wide Web environment, also calledsimply “the Web”. Other Internet protocols exist for transferringinformation, such as File Transfer Protocol (FTP) and Gopher, but havenot achieved the popularity of the Web. In a Web environment, serversand clients effect data transaction using the Hypertext TransferProtocol (HTTP), a commonly-known protocol for handling the transfer ofvarious data files (e.g., text, still graphic images, audio, motionvideo, etc.).

Websites are hosted on server data processing systems. Often more thanone server data processing system supports transactions or requestsdirected to a single website. In other words, for a particular URL to agiven website, more than one server data processing system is availableto handle requests from users on the Web. These server data processingsystems are often organized onto a grouping referred to as a cluster orserver cluster. A cluster is a group of server data processing systemsthat provides fault tolerance and/or load balancing. If one server dataprocessing system in the cluster fails, one or more additional serverdata processing systems are still available. Load balancing distributesthe workload over multiple data processing system in the cluster.

These server data processing systems run applications used to handlerequests. For example, the applications for a website may includeapplications used to provide information about goods and services,provide a shopping cart, and process orders. In order to facilitatemulti-server transactions that involve data transfer between systemsover a network, it is necessary to maintain a database of correctaddresses for other systems located on a network. Such a database iscalled a name space. In the prior art, adequate solutions do not existfor the problem of maintaining usable ‘federated’ naming contextreferences, which are naming context references linked to addresses onforeign systems. A federated name space is a name space employing suchreferences. For example, if a first name space on a first system has afederated naming context binding which resolves to a naming context in asecond name space, that reference might become invalid if the nameserver which hosts the second name space is restarted.

What is needed is a method for maintaining federated name contextbindings in a name space.

SUMMARY OF THE INVENTION

A method, system and computer program product for maintaining federatedname context bindings in a name space are disclosed. A reference withina first name space of a first system is bound with a durablesubscription to a second name space on a second system. The binding ofthe first reference to the second name space is administered with agraphical user interface. A durable subscription is established with thesecond system for the binding utilizing communication with the secondsystem over a network. Notification of a change affecting the bindingsfrom the second system is received and the reference is rebound in thefirst name space.

BRIEF DESCRIPTION OF THE DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objects and advantages thereof, willbest be understood by reference to the following detailed descriptionsof an illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 depicts a block diagram of a network environment containinggeneral-purpose data processing systems with which the present inventionof a method, system and computer program product for maintainingfederated name context bindings in a name space may be performed;

FIG. 2 depicts a graphical user interface for use with the presentinvention of a method, system and computer program product formaintaining federated name context bindings in a name space inaccordance with a preferred embodiment of the present invention;

FIG. 3A illustrates a high-level logical flowchart of a process forsending notifications to naming context subscribers upon startup of thename server hosting a naming context in accordance with a preferredembodiment of the present invention;

FIG. 3B depicts a high-level logical flowchart of a process forrebinding a naming context imported through a subscription in responseto a notification from the hosting system that the naming contextreference must be refreshed in accordance with a preferred embodiment ofthe present invention;

FIG. 4A illustrates a high-level logical flowchart of a process forusing a GUI to browse name spaces in cooperating systems and issue arequest to create a federating binding in a name space in one system,which resolves to a naming context in a name space in another system, inaccordance with a preferred embodiment of the present invention;

FIG. 4B depicts a high-level logical flowchart of a process forimporting a naming context reference from another system in the form ofa subscription for the purposes of binding the naming context referenceinto a name space in the local system in accordance with a preferredembodiment of the present invention; and

FIG. 4C illustrates a high-level logical flowchart of a process forexporting a naming context reference through a system's handling of arequest for a subscription to a naming context from a name space in thatsystem in accordance with a preferred embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention provides a method, system, and computer programproduct for maintaining federated name context bindings in a name space.This invention is used to maintain federated naming context bindings ina “local” name space. The local name space is part of a hosting systembeing administered. Federated naming context bindings are bindings inthe name space that resolve to naming contexts in other name spaces.

The present invention solves the problem of maintaining usable namingcontext references. For example, if a first exemplary name space (NameSpace A) has a federated naming context binding which resolves to anaming context in a second exemplary name space (Name Space B) thatreference might become invalid if the name server which hosts Name SpaceB is restarted. A reference becomes invalid on system restart, becauseof static or dynamic changes to identification of resources, theirpaths, addresses and or names. The present invention solves this problemby obtaining a fresh reference to the naming context in Name Space B andrebinding it into Name Space A. The present invention allows the systemshosting Name Space A and Name Space B to cooperate through a commonpublish/subscribe mechanism (called a subscription server). Name Space Ain the foregoing example is the name space being administered. In orderto maintain valid references to Name Space B within Name Space A, thesystem hosting Name Space A subscribes to Name Space B. The presentinvention provides mechanisms to facilitate that subscription.

As a subscriber, the system hosting Name Space A is notified of certainevents, including when Name Space B is started or restarted. Eventnotification allows the system hosting Name Space A to rebind allreferences into Name Space B. If the publishing system hosted on NameSpace B is given detailed information about exactly which namingcontexts in Name Space B are referenced from Name Space A, thepublishing system in Name Space B can send notifications if the statusof any of those particular naming contexts in Name Space B change. Sucha situation could arise if a naming context in Name Space B is reboundor unbound.

Because the system hosting Name Space B might not be available when NameSpace A's hosting system is started, the present invention provides ameans for Name Space A's subscription to be made persistent. Once NameSpace A is subscribed, it will be notified that Name Space B has beenstarted or restarted until Name Space A unsubscribes. This conditionwill always occur if Name Space B contains references to Name Space A,creating a circular dependency. One of the systems will almost always beavailable before the other.

With reference now to the figures, and in particular with reference toFIG. 1, a block diagram of a network environment containinggeneral-purpose data processing systems with which the present inventionof a method, system and computer program product for maintainingfederated name context bindings in a name space may be performed isdepicted. Data processing systems 100 a-100 b contain processing storageunits (e.g., RAM 102 a-102 b) and processors 104 a-104 b. Dataprocessing systems 100 a-100 b also include persistent (i.e.,non-volatile) storage 106 a-106 b such as hard disk drives or otherdirect-access storage devices, containing import/export databases 160a-160 b. Input/Output (I/O) controllers 108 a-108 b provide connectivityto a network 190 through network adaptors 110 a-110 b connected tointerface cables 112 a-112 b. I/O controller 108 also connects to userI/O devices 114 a-114 b such as keyboards, display devices, mice, orprinters through wired or wireless links 116 a-116 b, such as cables orradio-frequency connections. System interconnect 118 a-118 b connectprocessors 104 a-104 b, RAM 102 a-102 b, storage 106 a-106 b, and I/Ocontrollers 108 a-108 b.

Within RAM 102 a-102 b, data processing systems 100 a-100 b storeseveral items of data and instructions while operating in accordancewith a preferred embodiment of the present invention. These includenetwork subscription systems 152 a-152 b for interaction withapplications 128 a-128 b through the facilitation of operating systems130 a-130 b. In the embodiment shown in FIG. 1, network subscriptionsystems 152 a-152 b contain subscription servers 154 a-154 b, graphicaluser interfaces (GUIs) 156 a-156 b and name servers 158 a-158 b. Otherapplications 128 a-128 b and network subscription systems 152 a-152 binterface processors 104 a-104 b, RAM 102 a-102 b, storage 106 a-106 b,and I/O controllers 108 a-108 b through operating system 130 a-130 b.One skilled in the data processing arts will quickly realize thatadditional components of data processing systems 100 a-100 b may beadded to or substituted for those shown without departing from the scopeof the present invention. Additional servers, which are omitted for thesake of simplicity, will also exist in many implementations.

Name servers 158 a-158 b include the “local” name space(s) beingadministered and the “remote” name spaces which are being importedand/or exported. Subscription servers 154 a-154 b are used notifysubscribing network subscription systems 152 a-152 b of events and arenotified as a subscriber to other publishers of events of interest onthose systems. Name servers 158 a-158 b notify subscription servers 154a-154 b that a hosting data processing systems 100 a-100 b has beenstarted or restarted. Where binding level export data is maintained inimport/export databases 160 a-160 b, name servers 158 a-158 b alsonotify subscription servers 154 a-154 b on the hosting data processingsystems 100 a-100 b of binding changes.

Subscription servers 154 a-154 b also contain the logic to maintainimport/export databases 160 a-160 b, and to maintain federated bindingsin the administered name spaces. In alternative embodiments,subscription servers 154 a-154 b could exist as multiple components,though they are represented as one component in the preferred embodimentfor the sake of simplicity. Subscription servers 154 a-154 b containapplication protocol interfaces (APIs) to allow them to edit, import andexport data. Subscription servers 154 a-154 b interact with the othersubscription servers 154 a-154 b. As a subscriber, subscription servers154 a-154 b are notified by other subscription servers 154 a-154 b ofimported name spaces. As a publisher, subscription servers 154 a-154 bnotify other subscription servers 154 a-154 b of events. Subscriptionservers 154 a-154 b also read and write data from and to import/exportdatabases 160 a-160 b. Finally, subscription servers 154 a-154 b performbind and rebind operations on administered name spaces to keep federatedbindings up-to-date.

In order to maintain federated naming context references as described inthe present invention, certain data is maintained on some persistentmedia, such as storage 106 a-106 b. Data maintained to administer a namespace consists of import data and export data. Continuing with theexample described above, assume that Name Space A resides on first dataprocessing system 100 a and that Name Space B resides on second dataprocessing system 100 b. Import data in import/export database 160 a onfirst data processing system 100 a includes an entry for Name Space B.That entry for Name Space B in import/export database 160 a wouldinclude the server address for the name server 158 b and the address ofsubscription server 154 b on second data processing system 100 b. IfName Space B on second data processing system 100 b is in turn asubscriber to Name Space A on first data processing system 100 a, NameSpace B's entry in import/export database 160 a contains export dataabout Name Space A on first data processing system 100 a. Exportinformation includes a server address of subscription server 154 b onsecond data processing system 100 b. Details about which references NameSpace B has into Name Space A are also included in the export data inimport/export database 160 a on first data processing system 100 a, suchas information required to identify those naming contexts. In apreferred embodiment, additional import/export data, such as last knownavailability status, which is more transient in nature, is notmaintained in import/export database 160 a on first data processingsystem 100 a, though it can be in alternative embodiments. Second dataprocessing system 100 b hosting Name Space B would have similar importand export data in import/export database 160 b. An example datastructure housing data for import/export database 160 a is providedbelow:

-   -   IMPORT DATA    -   Table: Subscription Servers (list of foreign subscription        servers)        -   Column: Subscription Server ID (Assigned locally)        -   Column: Subscription Server host name        -   Column: Subscription Server port number    -   Table: Foreign Name Servers        -   Column: Subscription Server ID (reference into Subscription            Servers table)        -   Column: Name Server Bootstrap Host        -   Column: Name Server Bootstrap Port        -   Column: Foreign Name Server ID    -   Table: Local Name Servers        -   Column: Name Server Bootstrap Host        -   Column: Name Server Bootstrap Port        -   Column: Name Server ID    -   Table: Bindings        -   Column: Subscription Server ID (reference into Subscription            Servers table)        -   Column: Foreign Name Server ID (reference into Foreign Name            Servers table)        -   Column: Subscription ID (provided by foreign subscription            server)        -   Column: Local Name Server ID (reference into Local Name            Servers table)        -   Column: Foreign lookup name of federated naming context            (relative to initial context)        -   Column: Local binding name of federated naming context            (relative to initial context)    -   EXPORT DATA    -   Table: Subscription Servers (list of foreign subscription        servers)        -   Column: Subscription Server ID (Assigned locally)        -   Column: Subscription Server host name        -   Column: Subscription Server port number    -   Table: Local Name Servers        -   Column: Name Server Bootstrap Host        -   Column: Name Server Bootstrap Port        -   Column: Name Server ID    -   Table: Subscriptions        -   Column: Subscription ID (provided by foreign subscription            server)        -   Column: Local Name Server ID (reference into Local Name            Servers table)        -   Column: Subscription Server ID (reference into Subscription            Servers table)        -   Column: Local Name Server ID (reference into Local Name            Servers table)        -   Column: Local lookup name of naming context (relative to            initial context)

GUIs 156 a-156 b are used to view and edit import and export data, andto allow a user to browse the local and remote name spaces. GUIs 156a-156 b serve as the user's point of access to control activities ofnetwork subscription systems 152 a-152 b. More specifically, GUIs 156a-156 b pass instructions in the form of APIs to subscription servers154 a-154 b for reading and writing of all import and export data TheAPIs can operate locally or remotely. With local-only APIs, GUIs 156a-156 b will run in the same process as subscription servers 154 a-154b. With remote APIs, GUIs 156 a-156 b may run in a separate process,generating increased flexibility on data processing systems 100 a-100 b.Because GUIs 156 a-156 b also serve as name space browsers, GUIs 156a-156 b interact with name servers 158 a-158 b for listed name spaces.Note that bind operations are not issued by GUIs 156 a-156 b directly,but through subscription servers 154 a-154 b when defining a federatedbinding.

The various components of the present invention communicate through aseries of messages across network 190 or internally within dataprocessing systems 100 a-100 b. When a user of first data processingsystem 100 a starts GUI 156 a, GUI 156 a requests import datainformation from subscription server 154 aby sending an import datarequest 120 to subscription server 154 a. Subscription server 154 aresponds by sending an import data read 126 to import/export database160 a, to which import/export database 160 a replies by sending importdata in an import data return 128 to subscription server 154 a.Subscription server 154 a then takes the data returned in import datareturn 128 and transmits the data to GUI 156 a as import data delivery122.

GUI 156 a displays icons, which will be discussed with respect to avisual representation in FIG. 2 for the initial naming context of eachname space involved in federated bindings already reflected in importdata received in import data delivery 122. When the user wants to browsename spaces associated with name servers 158 a-158 b, the user mustprovide name server address information for a name space if the namespace is not already displayed on GUI 156 a from existing import data.The user can, through GUI 156 a, invoke name server 158 a through aninvocation request 132 to either obtain the initial context or issue alist operation on a naming context in the name space of name server 158a. Name server 158 a responds to invocation request 132 by sending alist result 134 to GUI 156 a. Similarly, a user can, through GUI 156 a,invoke a remote name server 158 b through a remote invocation request138 to either obtain the initial context or issue a list operation on anaming context in the name space of name server 158 b. Name server 158 bresponds to remote invocation request 138 by sending a remote listresult 150 to GUI 156 a. Remote invocation request 138 can betransmitted across an encrypted link using encryption protocols builtinto GUI 156 a and name server 158 b. Similar encryption is availablefor remote list result 150 and remote subscription return message 148,as well as remote subscription invocation message 146.

GUI 156 a also allows a user to initiate creation of a federated contextbinding in the name space of name server 158 a that resolves to a namingcontext in the name space of remote name server 158 b. GUI 156 a promptsuser for an address of subscription server 154 b such an address is notalready available from import data already obtained in import datadelivery 122. Federated binding invocation message 124 is sent by GUI156 a to invoke subscription server 154 a to create a federated bindingto a name space belonging to subscription server 154 b. While variousembodiments will handle the invocation of subscription server 154 b in avariety of ways, a preferred embodiment will look up a subscriptionserver reference from name server 158 b under a predefined name.Alternative embodiments will employ external bootstrap servers that areused to obtain a reference to subscription server 154 b. In remotesubscription invocation message 146, subscription server 154 a invokessubscription server 154 b to subscribe to a naming context reference.

In remote subscription return message 148, subscription server 154 breturns subscription ID and naming context reference to subscriptionserver 154 a. Subscription server 154 a then writes the subscription IDand naming context reference from remote subscription return message 148to import/export database 160 a using remote subscription database write130, and import/export database 160 a replies to remote subscriptiondatabase write 130 with a remote subscription database write successreport 130. When subscription server 154 a invokes name server 108 athrough name server invocation 140 to obtain an initial naming context,and name server 108 a returns initial naming context 142, subscriptionserver 154 a executes bind operation on name server 108 a, passing inthe naming context reference 144 returned from subscription server 154b. Subscription server 154 a then sends a binding success report 125 toGUI 156 a. Subscription server 154 a then sends a binding success report125 to GUI 156 a.

Turning now to FIG. 2, a graphical user interface for use with thepresent invention of a method, system and computer program product formaintaining federated name context bindings in a name space inaccordance with a preferred embodiment of the present invention isdepicted. GUI visual representation 204 a is composed of visualassociation regions representing name spaces. First visual associationregion 252 includes name references 226-232 available to a user of GUIvisual representation 204 a in a local name space.

A first local reference 256 identifies network subscription system 200a. Central local reference 1 226 identifies a partition of name server208 a. Central local reference 228 identifies a second partition of nameserver 208 a. GUI visual representation 204 a supports remote referencesin first visual association region 252. Central remote reference 3 230corresponds to east reference 2 216, which is shown in second visualassociation region 250. A binding indicator 242 graphically indicatesthe connection between central remote reference 3 230 in first visualassociation region 252 and east reference 2 216 in second visualassociation region 250. Similarly, central remote reference 4 232corresponds to west reference 3 224 in third visual association region254. A binding indicator 238 graphically indicates the associationbetween central remote reference for 232 and west reference 3 224. As isshown in second visual association region 250, network subscriptionsystem 200 b is indicated as JNDI east 212 with references 214-218,which are partitions of name server 208 b. The use of the term ‘JNDI’ innaming indicates that JNDI east 212 conforms to the standards for theJava Naming and Directory Interface. Third visual association region 254contains a server identifier 210, for a server not shown in FIG. 1, andpartition indicator references 220-224. In a preferred embodiment, GUIvisual representation 204 a will allow a user to create a reference onsecond network subscription system 200 b to a reference on a thirdremote system. An example of such a binding is east remote reference 1234 in second visual association region 250, which is bound to westreference 3 224. The binding between east remote reference 1 234 andwest reference 3 224 is graphically indicated by binding indicator 240.

In a preferred embodiment of GUI visual representation 204 aadministering Name Space A, Name Space A on network subscription system200 a would be depicted as the local name space in second visualassociation region 252, and Name Space B on network subscription system200 b would be depicted as an imported name space in third visualassociation region 254. Drag and drop (or copy and paste) operationsfrom third visual association region 254 to second visual associationregion 252 are used to create the federated binding indicated by bindingindicator 238. Federated bindings can be imported in a similar mannerfrom some other name space, depicted as an imported name space in thefirst visual association region 250. The name space could be a secondname space hosted on network subscription system 200 b or host someother network subscription system not shown.

Referring now to FIG. 4A, a high-level logical flowchart of a processfor using a GUI to browse name spaces in cooperating systems and issue arequest to create a federating binding in a name space in one system,which resolves to a naming context in a name space in another system, inaccordance with a preferred embodiment of the present invention isillustrated. The process starts at step 400, when a user starts GUI 156a. The process then moves to step 402, which illustrates GUI 156 aobtaining a reference to subscription server 154 a and invoking thesubscription server 154 a to retrieve import data. The process nextproceeds to step 404. At step 404, GUI 156 a displays in GUI visualrepresentation 204 a icons for the initial naming context of each namespace involved in the federated bindings already reflected in importdata from import/export database 160 a. The process then moves to step406, which illustrates a user browsing GUI visual representation 204 a.The process next proceeds to step 408.

At step 408, GUI 156 a determines whether the user has initiatedcreation of a federated context binding in a name space name server fora name server 158 a, for example, by drag-and-drop use of GUI visualrepresentation 204 a. If the user has not initiated creation of afederated context binding in a name space for a name server 158 a-158 b,then the process moves to step 410, which illustrates GUI 204 adetermining whether the user has closed the GUI visual representation204 a. If GUI 156 a determines that the user has not closed GUI visualrepresentation 204 a, then the process returns to step 406. If GUI 156 adetermines that the user has closed GUI visual representation 204 a,then the process ends at step 412.

Returning to step 408, if GUI 156 a determines that the user hasinitiated creation of a federated context binding in a name spaceassociated with a name server 158 a-158 b. Then the process moves tostep 414, which illustrates GUI 156 a invoking local subscription server202 a to create a federated binding as indicated by the user. Step 414causes initiation of the process of FIG. 4B at step 416. The processthen proceeds to step 410, which illustrates GUI 156 a determiningwhether the process of FIG. 4B is complete. If GUI 156 a determines thatthe process of FIG. 4B is not complete, then the process moves to step411 and waits. The process then returns to step 410. If GUI 156 adetermines that the process of FIG. 4B is complete, then the processreturns to step 406.

Turning now to FIG. 4B, a high-level logical flowchart of a process forimporting a naming context reference from another system in the form ofa subscription for the purposes of binding the naming context referenceinto a name space in the local system in accordance with a preferredembodiment of the present invention is depicted. The process starts atstep 416 and then moves to step 418, which depicts subscription server154 a invoking subscription server 154 b for the naming context beingbound as a federated binding. A subscription server address is suppliedas a parameter by GUI 156 a. Step 418 causes the initiation of theprocess shown in FIG. 4C, which starts at step 426, below. The processof FIG. 4B then moves to step 419, which depicts subscription server 154a determining whether the process of FIG. 4C is complete. If the processof FIG. 4C is not complete then the process of FIG. 4B moves to step421, where subscription server 154 a waits. The process then returns to419. At step 419, if the process of FIG. 4C is complete, then theprocess of FIG. 4B moves to step 420, which depicts subscription server154 a writing import data to import/export database using data suppliedas parameters from GUI 156 a and data returned from subscription server154 b upon termination of the process in FIG. 4C. The process then movesto step 422, which depicts subscription server 154 a invoking the nameserver identified by GUI 156 a as parameter data to bind into its namespace the naming context reference returned from subscription server 154b upon termination of the process of FIG. 4C. The naming context isbound under the name specified by GUI 156 a as parameter data. Theprocess then ends at step 424.

Referring now to FIG. 4C, a high-level logical flowchart of a processfor exporting a naming context reference, through a system's handling ofa request for a subscription to a naming context from a name space inthat system in accordance with a preferred embodiment of the presentinvention is illustrated. The process starts at step 426. The processthen moves to step 428, which depicts subscription server 154 b writingexport data to import/export database 160 b. The process next passes tostep 430. At step 430, import/export database 160 b returns data tosubscription server 154 b, if needed. The process then moves to step432. which depicts subscription server 154 b invoking name server 158 bto obtain a context reference. The process then moves to step 434. Atstep 434, subscription server 154 b returns data to the caller,subscription server 154 a, including a subscription ID and namingcontext reference. The process then ends at step 436.

Referring now to FIG. 3A, a high-level logical flowchart of a processfor sending notifications to naming context subscribers upon startup ofthe name server hosting a name space in accordance with a preferredembodiment of the present invention is illustrated.

The process starts at step 300 and then moves to step 302, whichindicates local subscription server 154 b being invoked by name server158 b to signal a name server 158 b startup. The process next moves tostep 304. At step 304, subscription server 154 b determines whether allsubscribers are notified. If subscription server 154 b determines thatall subscribers are notified, then the process ends at step 306. Ifsubscription server 154 b does not determine that all subscribers arenotified, then the process moves to step 308, which depicts subscriptionserver 154 b identifying a next subscriber for notification. The processthen proceeds to step 310.

At step 310, subscription server 154 b obtains the subscription serveraddress for subscription server 154 a from import data in import/exportdatabase 160 b. The process next proceeds to step 312. At step 312,subscription server 154 b obtains a reference into each naming contextsubscription server 154 a has imported. The process then proceeds tostep 314. At step 314, subscription server 154 b obtains a subscriptionserver reference. The process then moves to step 316, which portrayssubscription server 154 b invoking subscription server 154 a, notifyingit through parameter data that a name server start has occurred. Alsoincluded in the parameter data are references to all naming contextreferences hosted by name server 158 b that subscription server 154 ahas imported. Since a start of name server 158 b affects all its hostednaming context references exported to subscribers, sending out a batchednotification to a subscriber is preferable to invoking a subscriber foreach exported naming context. The global notification sent tosubscription server 154 a contains all naming context references fromthe hosting name server 158 b that have been exported to subscriptionserver 154 a. The process then returns to step 304.

Turning now to FIG. 3B, a high-level logical flowchart of a process forrebinding a naming context imported through a subscription in responseto a notification from the hosting system that the naming contextreference must be refreshed in accordance with a preferred embodiment ofthe present invention is depicted. The process starts at step 318. Theprocess then proceeds to step 330, which depicts subscription server 154a determining whether a single or a batched reference changenotification was received. If subscription server 154 a determines thata single reference change notification has been received, then theprocess moves to step 332. Step 332 illustrates subscription server 154a using the name space location received in a notification to obtainfrom the import/export data the location of the federated binding in thelocal name space. The process then moves to step 334. At step 334,subscription server 154 a rebinds the naming context reference receivedin the notification to the local name space. The process then ends atstep 326.

Returning to step 330, if subscription server 154 a determines that abatched reference change notification was received, then the processnext moves to step 320 to iterate through the list of reference datacontained in the notification. Step 320 depicts subscription server 154a determining whether all reference data has been processed. If allreference data is complete, then the process ends at step 326. If allreference data is not complete, then the process proceeds to step 322,which illustrates subscription server 154 a using a name space locationreceived in a notification to obtain from the import/export data thelocation of the federated binding in the local name space. The processthen moves to step 324. At step 324, subscription server 154 a invokesname server 158 a to rebind to the local name space the naming contextreference corresponding to step 322 received in the notification. Theprocess then returns to step 320.

While the invention has been particularly shown as described withreference to a preferred embodiment, it will be understood by thoseskilled in the art that various changes in form and detail may be madetherein without departing from the spirit and scope of the invention. Itis also important to note that although the present invention has beendescribed in the context of a fully functional computer system, thoseskilled in the art will appreciate that the mechanisms of the presentinvention are capable of being distributed as a program product in avariety of forms, and that the present invention applies equallyregardless of the particular type of signal bearing media utilized toactually carry out the distribution. Examples of signal bearing mediainclude, without limitation, recordable type media such as floppy disksor CD ROMs and transmission type media such as analog or digitalcommunication links.

1. A method, within a first computer system including at least ahardware processor and a hardware storage, for maintaining federatedname context bindings in a name space, said method comprising: the firstcomputer system binding, with a durable subscription, a first referencewithin a first name space of the first computer system to a second namespace on a second computer system including at least a hardwareprocessor and hardware storage, wherein said step of binding includes:the first computer system transmitting to said second computer system adata record identifying a naming context in said second computer systemassociated with said first reference on said first computer system; andcreating an entry in a database in the hardware storage of the firstcomputer system containing a naming context reference returned by thesecond computer system; administering with a graphical user interface ofsaid first computer system said binding of said first reference to saidsecond name space, said administering including: presenting a pluralityof graphical objects each representing a respective one of a pluralityof namespaces including the first name space and the second name space;presenting a plurality of graphical objects each representing arespective one of a plurality of name references distributed among theplurality of namespaces and graphically indicating associations betweenthe plurality of name references and the plurality of name spaces;presenting a plurality of graphical binding indicators indicating aplurality bindings between the plurality of name references, saidplurality of graphical binding indicators including a first graphicalbinding indicator indicating the binding between the first referencewithin the first name space and the second name space; and creating atleast one of the plurality of graphical binding indicators and anunderlying one of the plurality of bindings via a graphical manipulationin the graphical user interface; the first computer system establishinga durable subscription at said second computer system for said bindingutilizing communication with said second computer system over a network;based upon the durable subscription, the first computer systemautomatically receiving notification of a change affecting said bindingfrom said second computer system; and in response to the notification,the first computer system rebinding said first reference in said firstname space, wherein said rebinding further comprises updating the entryin the database to reflect rebinding to a third name space on saidsecond system all references in said first name space on said firstcomputer system that are bound to said second computer system.
 2. Themethod of claim 1, wherein said step of binding with said durablesubscription said first computer system with said first name spacecontaining said first reference to said second name space on said secondcomputer system further comprises binding with said durable subscriptionover an encrypted link said first computer system with said first namespace containing said first reference to said second name space on saidsecond computer system.
 3. The method of claim 1, wherein said rebindingstep further comprises rebinding to a third name space on said secondcomputer system an identified list of references on said first computersystem received from said second computer system.
 4. The method of claim1, wherein said step of binding, with said durable subscription, saidfirst reference further comprises transmitting to said second computersystem a data record identifying a naming context in said secondcomputer system associated with said first reference on said firstcomputer system.
 5. The method of claim 1, wherein said step of bindingwith said durable subscription said first computer system with saidfirst name space containing said first reference to said second namespace on a second computer system further comprises storing one or moredetails of said durable subscription on a persistent medium accessibleto said second computer system.
 6. The method of claim 1, wherein saidstep of establishing further comprises transmitting a first serveraddress, a subscription server address, and a reference identifier forsaid first reference.
 7. A computer system that maintains federated namecontext bindings in a name space, said computer system comprising: aprocessor; a network interface coupled to the processor to supportcommunication over a network with another computer system; storagecoupled to and accessible by the hardware processor; a database withinthe storage; program code within the storage and executable by theprocessor to maintain federated name context bindings, wherein theprogram code when executed by the processor causes the computer systemto: bind, with a durable subscription, a first reference within a firstname space of the computer system to a second name space on said anothercomputer system by transmitting to said second computer system a datarecord identifying a naming context in said second computer systemassociated with said first reference on said first computer system andby creating an entry in the database containing a naming contextreference returned by the second computer system; administer with agraphical user interface said binding of said first reference to saidsecond name space, wherein administration of the binding includes:presenting a plurality of graphical objects each representing arespective one of a plurality of namespaces including the first namespace and the second name space; presenting a plurality of graphicalobjects each representing a respective one of a plurality of namereferences distributed among the plurality of namespaces and graphicallyindicating associations between the plurality of name references and theplurality of name spaces; presenting a plurality of graphical bindingindicators indicating a plurality bindings between the plurality of namereferences, said plurality of graphical binding indicators including afirst graphical binding indicator indicating the binding between thefirst reference within the first name space and the second name space;and creating at least one of the plurality of graphical bindingindicators and an underlying one of the plurality of bindings via agraphical manipulation in the graphical user interface; establish adurable subscription at said another computer system for said bindingutilizing communication with said second computer system over thenetwork; automatically receive notification of a change affecting saidbinding from said second computer system based upon the durablesubscription; and in response to the notification, rebind the firstreference in said first name space, wherein rebinding the firstreference includes updating the entry in the database to reflectrebinding to a third name space on said second system all references insaid first name space on said first computer system that are bound tosaid second computer system.
 8. The computer system of claim 7, whereinthe program code binds the first reference in the first name space withthe second name space over an encrypted link between the computer systemand said another computer system.
 9. The computer system of claim 7,wherein said program code rebinds to a third name space on said anothercomputer system an identified list of references on said first computersystem received from said second computer system.
 10. The computersystem of claim 7, wherein said program code, to bind the firstreference with said durable subscription, transmits to the anothercomputer system a data record identifying a naming context in saidanother computer system associated with said first reference on saidfirst computer system.
 11. The computer system of claim 7, wherein saidprogram code, to establish the durable subscription at said anothercomputer system, transmits to said another computer system a firstserver address, a subscription server address, and a referenceidentifier for said first reference.
 12. A program product formaintaining federated name context bindings in a name space, saidprogram product comprising: a tangible computer readable data storagemedium; program code within the tangible computer readable data storagemedium and executable by the computer system to maintain federated namecontext bindings, wherein the program code when executed by a computersystem causes the computer system to: bind, with a durable subscription,a first reference within a first name space of the computer system to asecond name space on another computer system by transmitting to saidsecond computer system a data record identifying a naming context insaid second computer system associated with said first reference on saidfirst computer system and by creating an entry in the databasecontaining a naming context reference returned by the second computersystem; administer with a graphical user interface said binding of saidfirst reference to said second name space, wherein administration of thebinding includes: presenting a plurality of graphical objects eachrepresenting a respective one of a plurality of namespaces including thefirst name space and the second name space; presenting a plurality ofgraphical objects each representing a respective one of a plurality ofname references distributed among the plurality of namespaces andgraphically indicating associations between the plurality of namereferences and the plurality of name spaces; presenting a plurality ofgraphical binding indicators indicating a plurality bindings between theplurality of name references, said plurality of graphical bindingindicators including a first graphical binding indicator indicating thebinding between the first reference within the first name space and thesecond name space; and creating at least one of the plurality ofgraphical binding indicators and an underlying one of the plurality ofbindings via a graphical manipulation in the graphical user interface;establish a durable subscription at said another computer system forsaid binding utilizing communication with said second computer systemover the network; automatically receive notification of a changeaffecting said binding from said second computer system based upon thedurable subscription; and in response to the notification, rebind thefirst reference in said first name space, wherein rebinding the firstreference includes updating the entry in the database to reflectrebinding to a third name space on said second system all references insaid first name space on said first computer system that are bound tosaid second computer system.
 13. The program product of claim 12,wherein the program code binds the first reference in the first namespace with the second name space over an encrypted link between thecomputer system and said another computer system.
 14. The programproduct of claim 12, wherein said program code rebinds to a third namespace on said another computer system an identified list of referenceson said first computer system received from said second computer system.15. The program product of claim 12, wherein said program code, to bindthe first reference with said durable subscription, transmits to theanother computer system a data record identifying a naming context insaid another computer system associated with said first reference onsaid first computer system.
 16. The program product of claim 12, whereinsaid program code, to establish the durable subscription at said anothercomputer system, transmits to said another computer system a firstserver address, a subscription server address, and a referenceidentifier for said first reference.